package br.com.bestOffer.ejb.memoriaRam.entity;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.Enumerated;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

import br.com.bestOffer.ejb.produto.entity.Produto;
import br.com.bestOffer.enumerator.CategoriaProduto;
import br.com.bestOffer.enumerator.VersaoMemoriaRam;

@Entity
@Table(name="TB13_MEMORIA_RAM")
@DiscriminatorValue("MemoriaRam")
@NamedQueries({
	@NamedQuery(name="MemoriaRam.listarTodasMemorias", query="SELECT m FROM MemoriaRam m "),
	@NamedQuery(name="MemoriaRam.buscarMemoriaPorID", query="SELECT m FROM MemoriaRam m WHERE m.id = :idProduto"),
	@NamedQuery(name="MemoriaRam.buscarMemoriaComAnuncios", query="SELECT m FROM MemoriaRam m LEFT JOIN FETCH m.listaAnuncios WHERE m.id = :idProduto")
})
public class MemoriaRam extends Produto implements Serializable {

	private static final long serialVersionUID = -509394447669164726L;

	@Column(name="quantidade_memoria",nullable=false)
	@Enumerated
	private Integer quantidadeMemoria;

	@Column(name="frequencia",nullable=false)
	@Enumerated
	private Integer frequencia;

	@Column(name="versao_memoria",nullable=false)
	@Enumerated
	private VersaoMemoriaRam versaoMemoriaRam;


	public MemoriaRam() {
		this.setCategoriaProduto(CategoriaProduto.MemoriaRam);
	}

	public Integer getQuantidadeMemoria() {
		return quantidadeMemoria;
	}

	public void setQuantidadeMemoria(Integer quantidadeMemoria) {
		this.quantidadeMemoria = quantidadeMemoria;
	}

	public Integer getFrequencia() {
		return frequencia;
	}

	public void setFrequencia(Integer frequencia) {
		this.frequencia = frequencia;
	}

	public VersaoMemoriaRam getVersaoMemoriaRam() {
		return versaoMemoriaRam;
	}

	public void setVersaoMemoriaRam(VersaoMemoriaRam versaoMemoriaRam) {
		this.versaoMemoriaRam = versaoMemoriaRam;
	}


}
